// Abstract class and pure virtual function.

#include <iostream>
using namespace std;

// Abstract function
class A {
	public:
		virtual void foo( ) = 0;	 // Pure virtual function.
};

class B : public A {
	public:
		// If the pure virtual function has been redefined, it is a commonplace class.
		void foo( ) { cout << "B::foo" << endl; }
};

// designer
// ------------------------------------------------------------------
// user

int main( void ) { 
//	A a;	err
	B a;

	return 0;
}

